package com.tedu.API.date;

import java.util.Calendar;
import java.util.Date;

/**
 * 包位置 java.util
 * Calendar抽象类 时间类
 * 替换date时间方法功能：
 * 1.计算时间分量：根据毫秒数换取时间：年 月 日 时 分 秒
 * 2.设计时间分量：修改年月日时分秒，底层用毫秒数算的结果
 * 3.增加或者减少时间分量：增加/减少 指定的时间分量
 * Calendar抽象创建：
 * Calendar cl=Calendar.getInstance();
 * Calendar.getInstance()---封装了Calendar的new功能
 */
public class CalendarAPI {
    public static void main(String[] args) {
        //Calendar ---格里高利历 公历  //0~11
        Calendar cl = Calendar.getInstance();
        //get()获取年月日时分秒【毫秒数：静态常量】
        int year = cl.get(Calendar.YEAR);//获取年
        int month = cl.get(Calendar.MONTH) + 1; //获取月
        int day = cl.get(Calendar.DAY_OF_MONTH);//获取日
        int hour = cl.get(Calendar.HOUR); //获取小时
        int min = cl.get(Calendar.MINUTE); //获取分钟
        int second = cl.get(Calendar.SECOND);
        System.out.println("今年" + year + month + day + hour + min + second);

        //设置到明年的今天
        //set(改变的时间，绝对时间)
        cl.set(Calendar.YEAR, 2025);
        Date a = cl.getTime();
        System.out.println("明年的今天" + a);

        //设置到去年的今天
        //add(改变的时间，相对时间)
        cl.add(Calendar.YEAR, -2);
        a = cl.getTime();
        System.out.println("去年的今天" + a);
        //检查这个月的总天数
        int day1 = cl.getActualMaximum(Calendar.DAY_OF_MONTH);
        System.out.println("最大DAy" + day1);


    }
}
